﻿<!DOCTYPE html>
<html lang="en">
<head>
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=1">
    <meta name="format-detection" content="telephone=no">
    <meta charset="UTF-8">
    <title>实例上的方法</title>
    <link rel="stylesheet" href="../css/bootstrap.css"/>
    <script src="../js/jquery-2.2.0.min.js"></script>
    <script src="../js/bootstrap.min.js"></script>
</head>
<body>
<h1>vue事件</h1><br/>

<div id="app">
    {{name}}<br/>
    <p ref="myP">{{msg}}</p>
    <div v-for="v in arr" ref="mydiv">{{v}}</div>
</div>
<script src="../js/vue-2.5.16.js"></script>
<script src="../node_modules/axios/dist/axios.js"></script>
<script src="../node_modules/lodash/lodash.js"></script>

<script>
    var app = new Vue({
        el:'#app',
        data:{
            name:'模版数据',
            msg:'hello',
            arr:[1,2,3,4]
        },
        mounted(){
            //实例的方法有   this.$data  this.$watch(监控)   this.$el(当前el元素)
            // this.$set(后加的属性实现响应式变化)  this.$options(实例上所有属性)
            //this.$nextTick(()=>{})  当代码都执行完成了可以执行该函数   一个异步方法，等待dom渲染完再执行可以用该函数
            //this.$refs
            //如果dom元素不是通过v-for循环出来的，只能获取一个，通过v-for循环出来的可以获取多个
            console.log(this.$refs.myP);
            console.log(this.$refs.mydiv);
            this.arr = [1,2,3,4,5];//dom渲染是异步的
            //如果数据变化后想获取真实dom中的内容，需要等待页面渲染完后在获取，所以用$nextTick
        }
    });
</script>

</body>
</html>